package br.com.velp.sudecap.web.filter;

import br.com.velp.sudecap.mb.contexto.ContextoBean;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * <sumario>
 * <objetivo> "Rastreabilidade" </objetivo>
 * <autor> EDUARDO SANTOS DE OLIVEIRA </autor>
 * <versao>1.0.0.0</versao>
 * <data_criacao> 17.10.2012 </data_criacao>
 * <data_ultima_alteracao> N/A </data_ultima_alteracao>
 * <requisitos_afetados> RF001.01 - Autenticar Usuário </requisitos_afetados>
 * <descricao> Filtro responsável por interceptar as requisições
 *             do usuário, para bloquear acesso as funcionalidades
 *             do sistema por usuários não logados </descricao>
 * </sumario>
 */
public class LoginFilter implements Filter{
    
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
	HttpSession session = ((HttpServletRequest) request).getSession();  
	ContextoBean contextoBean = (ContextoBean) session.getAttribute("contextoBean");
	if(contextoBean == null){
	    ((HttpServletResponse) response).sendRedirect(session.getServletContext().getContextPath() + "/index.html");  
	}else {  
            chain.doFilter(request, response);  
        } 
    }

    @Override
    public void destroy() {
    }
    
}
